#学生操作类

import pymysql

class Stulist:

	def __init__(self):
		'''数据库连接'''
		self.db = pymysql.connect(host="localhost",user="root",password="",db="mydb",charset="utf8")
		#创建游标对象
		self.cursor = self.db.cursor()

	def __del__(self):
		'''关闭数据库'''
		self.db.close()

	def FindAll(self):
		'''查询学生信息'''
		#mysql执行语句
		sql = "select * from stu"
		try:
			#执行mysql操作
			self.cursor.execute(sql)
			
			#显示获得的信息
			alist = self.cursor.fetchall()
			for i in alist:
				print(i) #可以优化为格式化输出
		#异常处理
		except Exception as info:
			print("查询学生信息出错:",info)

	def DelStuInfo(self,id):
		'''删除学生信息'''
		#mysql执行语句
		sql = "delete from stu where id = %d"%(id)
		
		try:
			#执行mysql操作
			self.cursor.execute(sql)
			#事物确认
			self.db.commit()

			print("删除学生信息成功!")

		#异常处理
		except Exception as info:
			#事物回滚
			self.db.rollback()
			print("删除学生信息出错:",info)

	def InsertStuInfo(self,data):
		'''添加学生信息'''
		#mysql执行语句
		sql = "insert into stu(name,age,sex,classid) values('{}','{}','{}','{}')".format(data["name"],data["age"],data["sex"],data["classid"])

		try:
			#执行mysql操作
			self.cursor.execute(sql)
			#事物确认
			self.db.commit()

			print("添加学生信息成功!")

		#异常处理
		except Exception as info:
			#事物回滚
			self.db.rollback
			print("添加学生信息出错:",info)





